Telegram Group & Telegram Channel
🐍 Хитрая задача на Python с подвохом

📌 Задача:
Ты пишешь функцию track, которая возвращает список всех значений, которые в неё передавали. Пример поведения:


print(track(1)) # [1]
print(track(2)) # [1, 2]
print(track(3)) # [1, 2, 3]


Реализуй эту функцию.

🎯 Подвох:
- Решение работает без глобальных переменных
- Используется поведение изменяемых аргументов по умолчанию
- Это поведение часто становится причиной багов у новичков — но здесь оно работает на нас

---

Ожидаемый результат:


def track(value, cache=[]):
cache.append(value)
return cache

# Проверка:
print(track(1)) # [1]
print(track(2)) # [1, 2]
print(track(3)) # [1, 2, 3]


🧠 Объяснение подвоха:

- Аргумент
cache=[] вычисляется один раз, при первом вызове функции
- Все последующие вызовы используют один и тот же список
- Обычно это считается "ловушкой", но в задачах на замыкание состояния — это полезный трюк

⚠️ Не путай: если внутри функции ты напишешь
cache = [], то всё сломается — потому что создастся новый список каждый раз



tg-me.com/python_testit/1174
Create:
Last Update:

🐍 Хитрая задача на Python с подвохом

📌 Задача:
Ты пишешь функцию track, которая возвращает список всех значений, которые в неё передавали. Пример поведения:


print(track(1)) # [1]
print(track(2)) # [1, 2]
print(track(3)) # [1, 2, 3]


Реализуй эту функцию.

🎯 Подвох:
- Решение работает без глобальных переменных
- Используется поведение изменяемых аргументов по умолчанию
- Это поведение часто становится причиной багов у новичков — но здесь оно работает на нас

---

Ожидаемый результат:


def track(value, cache=[]):
cache.append(value)
return cache

# Проверка:
print(track(1)) # [1]
print(track(2)) # [1, 2]
print(track(3)) # [1, 2, 3]


🧠 Объяснение подвоха:

- Аргумент
cache=[] вычисляется один раз, при первом вызове функции
- Все последующие вызовы используют один и тот же список
- Обычно это считается "ловушкой", но в задачах на замыкание состояния — это полезный трюк

⚠️ Не путай: если внутри функции ты напишешь
cache = [], то всё сломается — потому что создастся новый список каждый раз

BY Python tests


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/python_testit/1174

View MORE
Open in Telegram


Python tests Telegram | DID YOU KNOW?

Date: |

A Telegram spokesman declined to comment on the bond issue or the amount of the debt the company has due. The spokesman said Telegram’s equipment and bandwidth costs are growing because it has consistently posted more than 40% year-to-year growth in users.

Python tests from pl


Telegram Python tests
FROM USA